package com.project.mapper;

import com.project.pojo.*;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * 公共方法
 */
public interface PublicMapper {
    /**
     * 查询所有公告
     * @return
     */
    @Select("select * from tb_note;")
    List<Notice> selectAllNotice();

    /**
     * 查询所有教学楼
     * @return
     */
    @Select("select * from tb_build;")
    List<Build> selectAllBuild();

    /**
     * 查询所有教室
     * @return
     */
    @Select("select r.*,b.buildName from tb_build b ,tb_room r where r.buildId = b.buildId;")
    List<Room> selectAllRoom();

    /**
     * 查询所有 申请
     * @return
     */
    List<Apply> selectAllApply();

    /**
     * 审批申请
     */
    @Update("update tb_apply set applyStatus = #{applyStatus} where id = #{id};")
    void updateApply(Apply apply);

    /**
     * 模糊查询教学楼
     * @param buildName
     * @return
     */
    List<Build> selectBuildByInfo(String buildName);

    /**
     * 根据教学楼名称查询教室
     * @param buildName
     * @return
     */
    List<Room> selectRoomByInfo(String buildName);

    /**
     * 根据申请人姓名查询申请
     * @param relName
     * @return
     */
    List<Apply> selectApplyByInfo(String relName);

    /**
     * 模糊查询管理员
     * @param relName
     * @return
     */
    List<Admin> selectAdminByInfo(String relName);

    /**
     * 模糊查询教职工
     * @param tName
     * @return
     */
    List<Teacher> selectTeacherByInfo(String tName);

    /**
     * 模糊查询学生
     * @param relName
     * @return
     */
    List<User> selectUserByInfo(String relName);
}
